后门有哪些分类
根据实现方式的不同,可以将后门分为网页后门、线程插入后门、扩展后门、C/S后门和账户后门等类型。
网页后门
网页后门主要通过服务器上正常的Web服务来构造自己的连接方式。脚本语言是为了缩短传统的“编写—编译—链接—运行”(edit-compile-link-run)过程而创建的计算机编程语言,即脚本语言是一种解释性的语言,常见的脚本语言有Python、VBScript、JavaScript、InstallshieldScript、ActionScript等。不像C、C++等编程语言需要编译成二进制代码才可以执行,脚本语言不需要编译,可以直接调用,具体由解释器来负责解释。早期的脚本语言经常被称为批处理语言或工作控制语言,目前的脚本语言已经成熟到可以编写一些复杂的程序。由于脚本语言具有简单、易学、易用及使用广泛等特点,不但成为大多数编程人员首选的工具,也成为提供后门的有效方法。另外,由于脚本语言不像编程语言那样需要严格的语法和复杂的规则,相对松散的代码为后门程序的隐藏创造了一定的条件。例如,HTML(Hyper Text Mark-upLanguage,超文本标记语言)就是一种脚本语言,浏览器就是它的解释器。此外,随着动态网页技术的发展,ASP、JSP、PHP等嵌入网页的脚本语言也被广泛使用,不过这些脚本要通过Web Server解释。凡是熟悉网页编程的读者都知道,利用这些脚本语言来预留后门是比较容易实现的。
线程插入后门
线程插入后门是指后门程序在运行时没有进程,所有操作均插入到其他应用程序的进程中完成。线程插入后门的特点是:在进程管理器中没有显示对应的进程,平时也没有打开的端口,潜伏在系统中很难被安全检测程序发现。同时,根据应用环境的不同,线程插入后门一般还提供了正向连接和反向连接功能,尤其是利用反向连接功能,后门程序可以主动向外发送连接请求,以防止防火墙对数据包的拦截。因为防火墙的设置一般是“防外不防内”,即防火墙会拦截从外向内发送的违规数据包,而放行从内向外发送的数据包。
扩展后门
扩展后门可以看成是多个后门程序的工具集,即将多个后门功能集成到一起,方便攻击者的控制。扩展后门一般同时集成了文件上传与下载、系统用户检测、HTTP访问、打开端口、启动/停止服务等功能。例如,WinEggDropShell.Eternity便是一个经典的扩展后门程序,它能实现进程管理(查看或结束进程)、注册表管理、服务管理(停止、启动等)、端口到程序关联、系统重启与注销、嗅探密码、重定向、HTTP服务等功能。
C/S后门
C/S(Client/Server)结构是木马主要使用的工作模式,同时也是后门程序的一种操作方式,尤其是具有控制功能的后门多采用该结构。ICMP Door便是一种典型的C/S后门,它利用ICMP协议,通信过程中不需要打开任何端口,只是利用系统本身的ICMP包进行控制。ICMP Door的另一个应用是实现从外网向内网的渗透,实现对网络内部主机的控制。由于ICMP Door使用了ICMP协议,如果主机启用了防火墙,则该后门程序将无法正常工作。
账户后门
账户后门是指攻击者为了长期控制目标主机,通过后门在目标主机中建立一个备用管理员账户的技术。一般采用克隆账户方式来实现。克隆账户一般有两种方式:一种是手动克隆账户;另一种是使用克隆工具。